package ar.maikoova.modelsControllers;

import java.sql.CallableStatement;
import java.sql.Connection;
import java.sql.SQLException;
import java.sql.Types;

import ar.maikoova.bd.Conector;
import ar.maikoova.bd.ParametrosConexion;
import ar.maikoova.models.Proyecto;



public class ProyectoController {

	Conector c;
	Connection conexion;
	
	public int insert (Proyecto proyecto) throws SQLException{
		try{
			c = new Conector(ParametrosConexion.getParametros());
			conexion = c.getConnection();
			CallableStatement cs = conexion.prepareCall("{ call dbo.proyectoCargar (?, ?, ?, ?, ?, ?, ?, ?, ?)}");
			
			cs.setString(1, proyecto.getCodigoProyecto());
			cs.setString(2, proyecto.getNombreProyecto());
			cs.setString(3, proyecto.getTerrenoProyecto().getCodigo());
			cs.setFloat(4, proyecto.getEstimacionProyecto());
			cs.setFloat(5, proyecto.getPorcentajeProyecto());
			cs.setString(6,  proyecto.getFechaInicioProyecto());
			cs.setString(7,  proyecto.getFechaFinalEstimadoProyecto());
			cs.setString(8,  proyecto.getFechaFinalProyecto());
			cs.registerOutParameter(9, Types.INTEGER);
			cs.execute();
			if (cs.getInt(9)==1){
				for (int i = 0; i < proyecto.getDepartamentosProyecto().size(); i++) {
					proyecto.getDepartamentosProyecto().get(i).insert();
				}
			}
			return cs.getInt(9);
		}catch(Exception e){
			System.out.println("Consulta erronea");
			return -1;
		}
		finally{
			conexion.close();
		}
	}
	public int update(Proyecto proyecto) {
		System.out.println("Aun no implementado");
		return -1;
	}
	
	public int delete(Proyecto proyecto) {
		System.out.println("Aun no implementado");
		return -1;
	}
}
